import { BaseQuery } from "@/types/common/response";

/**
 * 订单人员关联查询参数
 */
export interface OrderPersonnelQuery extends BaseQuery {
  /** 订单ID */
  orderId?: number;
  /** 人员名称 */
  personnelName?: string;
  /** 人员编码 */
  personnelCode?: string;
  /** 状态 */
  status?: string;
}

/**
 * 订单人员关联视图对象
 */
export interface OrderPersonnelVO {
  /** ID */
  id: number;
  /** 订单ID */
  orderId: number;
  /** 人员ID */
  personnelId: number;
  /** 人员姓名 */
  personnelName: string;
  /** 人员编码 */
  personnelCode: string;
  /** 供应商ID */
  supplierId?: number;
  /** 供应商名称 */
  supplierName?: string;
  /** 级别 */
  level?: string;
  /** 级别名称 */
  levelName?: string;
  /** 开始日期 */
  startDate: string;
  /** 结束日期 */
  endDate?: string;
  /** 人月单价 */
  monthlyRate: number;
  /** 状态（0正常 1已解除） */
  status: string;
  /** 状态名称 */
  statusName?: string;
  /** 备注 */
  remark?: string;
  /** 创建时间 */
  createTime?: string;
}

/**
 * 添加订单人员关联请求
 */
export interface AddOrderPersonnelRequest {
  /** 订单ID */
  orderId: number;
  /** 人员ID */
  personnelId: number;
  /** 开始日期 */
  startDate: string;
  /** 结束日期 */
  endDate?: string;
  /** 人月单价 */
  monthlyRate: number;
  /** 备注 */
  remark?: string;
}

/**
 * 批量添加订单人员关联请求
 */
export interface BatchAddOrderPersonnelRequest {
  /** 订单ID */
  orderId: number;
  /** 人员ID列表 */
  personnelIds: number[];
  /** 开始日期 */
  startDate: string;
  /** 结束日期 */
  endDate?: string;
  /** 备注 */
  remark?: string;
}

/**
 * 订单人员关联数据传输对象
 */
export type OrderPersonnelDTO = OrderPersonnelVO;
